Abstract: Software developers and quality controllers need to read and understand source programs and other software artifacts. The increase in size and complexity of software considerably affects a number of quality attributes, especially effectiveness and testability. False analysis frequently leads to ambiguities, misunderstanding and hence to faulty development results. Regardless of the fact that software testability is very important and one of the most considerable components of the software development life cycle, it is weakly managed. This is mostly due to the lack of its proper supervision and control. The study highlights the importance of testability in general and as a factor of software quality. Two most important contributions are made in the paper. A relation between object oriented testability factors and properties has been established as a major contribution. Finally, a model has been proposed for estimating testability of object oriented software using design metrics.

Keywords: Software Quality, Software Design, Software Testability, Complexity, Effectiveness